/* 
 * File:   toroidalArray.h
 * Author: Nikolas Wolfe
 *
 * Created on April 24, 2009, 4:49 PM
 */

#ifndef _TOROIDALARRAY_H
#define	_TOROIDALARRAY_H

/* =============================================================================
 * struct for array values and parameters
 */
struct array 
{
    int xMax;
    int yMax;
    int length;
    int arr[];
};

/* =============================================================================
 * create a new toroidal array
 */
struct array* createToroidalArray( int WIDTH, int HEIGHT );

/* =============================================================================
 * set a value in the toroidal array
 */
void set( struct array* arr, int x, int y, int val );

/* =============================================================================
 * get a value from the array 
 */
int get( struct array* arr, int x, int y );

/* =============================================================================
 * get the max X value
 */
int getXMax( struct array* arr );

/* =============================================================================
 * get the max Y value
 */
int getYMax( struct array* arr );

/* =============================================================================
 * get the size of the array
 */
int getSize( struct array* arr );

#endif	/* _TOROIDALARRAY_H */

